Finding ID | Version | Rule ID | IA Controls | Severity |
---|---|---|---|---|
V-7064 | APPNET0049 | SV-41559r1_rule | DCSL-1 | Medium |
Description |
---|
Microsoft Windows operating systems provide a feature called Authenticode. Authenticode technology and its underlying code signing mechanisms serve to provide a mechanism to identify software publishers and ensure that software applications have not been tampered with. Authenticode technology relies on digital certificates and is based on Public Key Cryptography Standards (PKCS) #7 (encrypted key specification), PKCS #10 (certificate request formats), X.509 (certificate specification), and Secure Hash Algorithm (SHA) and MD5 hash algorithms. .Net application developers sign their application code with their public key and Authenticode technology performs certificate validation tasks prior to allowing the application to run. If the system is not configured properly, Authenticode will not check for revoked certificates creating an integrity risk that could result in malware being run on the system. |
STIG | Date |
---|---|
Microsoft Dot Net Framework 4.0 STIG | 2014-01-08 |
Check Text ( C-3973r19_chk ) |
---|
This check must be performed for each user on the system. In order to determine compliance, the hexadecimal values contained in each users "State" registry key must be converted to binary values. Use regedit to locate HKEY_USER\[UNIQUE USER SID VALUE HERE]\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing\State. Document the Hexadecimal value of the user's "State" registry key. Each character in the hex string will be referred to as a "nibble", so a hex value of 10f00 has 5 binary "nibbles". Open the Windows calculator. Select "View", then "Programmer". Select "Hex" and then "Dword". Enter the 5 nibble hex values obtained from the user's registry key. Select "Bin". The value will automatically convert to a binary value. Start the count from 1 (not 0) and count the bit values starting from right to the left. The total number of bits will vary from 18 to 20 depending upon the hex values. If bit 10 is not a "0" value on production systems, this is a finding. If bit 10 is not a "0" value on a development system and the IAO has not provided documented approval, this is a finding. |
Fix Text (F-35213r9_fix) |
---|
Using regedit, change the hexadecimal value of the "HKEY_USER\[UNIQUE USER SID VALUE]\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing\State" registry key. For production systems, change the hexadecimal values for nibble position 3 to "0". For development systems, change the hexadecimal values for nibble position 3 to "0" or the IAO must provide documented approval. Example fix: Hex value: 10f00 Nibble position: 54321 To apply fix, the example hex value "f" in nibble position 3 would be changed to hex value "0" resulting in a hex value of 10000. |